XML is increasingly becoming the preferred format for transferring information. XML is a tag-based hierarchical language that is extremely rich in terms of the information that it can be used to represent. For example, XML can be used to represent information spanning the spectrum from semi-structured information (such as one would find in a word processing document) to highly structured information (such as that which is contained in a table). XML is well-suited for many types of communication including business-to-business and client-to-server communication. For more information on XML, XSLT, and XML Schema, the reader is referred to the following documents which are the work of, and available from the W3C (World Wide Web consortium): XML 1.0 second edition specification; XSL Transformations (XSLT) Version 1.0; XML Schema section 1: Structures; and XML Schema section 2: Datatypes.
Before information can be transferred, however, it must first be collected. Electronic forms are commonly used to aid in collecting information into an XML document. Electronic forms can be governed by a template, which can provide rules by which an XML document can be presented as an electronic form, such as with data-entry fields for entry of data.
To create these templates, however, a programmer often needs a significant understanding of HTML and XML Schemas. A programmer often needs to understand how data-entry fields in an electronic form governed by the template are represented in the schema, HTML file, and XML document. The programmer also may need to understand how HTML, XML, and XML Schemas are structured and how they interrelate. Thus, to build a template, a programmer often must have significant experience and skill.
In addition, to use the template, a programmer may need to build a program to allow a user to edit an XML document governed by this template.
For these reasons, creating and using templates can be difficult, time consuming, and require a programmer of significant skill.